
#include"bib.h"
#include<stdio.h>
#include<time.h>

void nouvelle_grille()
{

    sudoku grille;
    int tab[2][9];
    int i,j,k,n,i3,j3,i3e,j3e,echec,k2,t=0;
    srand(time(NULL));
    echec=1;
    while(echec)
    {
                for(i=0;i<9;i++)
                for(j=0;j<9;j++)
                grille.m9x9[i][j]=0;
                echec=0;
                for(i=0;i<9;i++)
                {
                                for(j=0;j<9;j++)
                                {

                                                for(k=0;k<9;k++)
                                                tab[0][k]=k+1;
                                                n=0;
                                                for(k=0;k<9;k++)
                                                {
                                                      if(grille.m9x9[i][k])
                                                      {
                                                           if(tab[0][grille.m9x9[i][k]-1])
                                                           n++;
                                                           tab[0][grille.m9x9[i][k]-1]=0;
                                                      }
                                                      if(grille.m9x9[k][j])
                                                      {
                                                           if(tab[0][grille.m9x9[k][j]-1])
                                                           n++;
                                                           tab[0][grille.m9x9[k][j]-1]=0;
                                                      }
                                                }

                                                for(i3=3*((int)i/3),i3e=i3+3;i3<i3e;i3++)
                                                for(j3=3*((int)j/3),j3e=j3+3;j3<j3e;j3++)
                                                if(grille.m9x9[i3][j3])
                                                {
                                                       if(tab[0][grille.m9x9[i3][j3]-1])
                                                       n++;
                                                       tab[0][grille.m9x9[i3][j3]-1]=0;
                                                }
                                                if(n>=9)
                                                {
                                                    echec=1;
                                                    break;
                                                }
                                                for(k=0,k2=0;k<9;k++)
                                                if(tab[0][k])
                                                {
                                                       tab[1][k2]=tab[0][k];
                                                       k2++;
                                                }
                                                grille.m9x9[i][j]=tab[1][rand()%k2];
                                }
                                if(echec)
                                break;
                }
     }
      grille=copie_grille(grille);
      grille=difficulte(grille);
      if(grille.retour!=1)
      jouer(grille,0);
      system("CLS");
}
